home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / U-Utilities / (c)u7.d64 / disk labeler+ (.txt) < prev    next >
Commodore BASIC  |  2008-11-26  |  18KB  |  497 lines

  1. 0 X$="XX":FORI=.TO3:X$=X$+X$:NEXT
  2. 1 X$=X$+"XXXXXXX":GOTO1502
  3. 2 *********************************
  4. 3 *   THE DISK LABELER+ V1.0      *
  5. 4 *  BY FRED LAYBERGER--SEP 1985  *
  6. 5 *  OKAY TO USE BUT NOT TO SELL  *
  7. 6 *********************************
  8. 10 PRINT"[147]"CY$S2$BL$R$S1$:POKE53281,11
  9. 11 GOSUB60:Y=24:X=.:GOSUB20:PRINTBL$S1$CY$S3$;:POKE2023,160:POKE56295,3:RETURN
  10. 20 PRINTLEFT$("",Y)TAB(X);:RETURN
  11. 30 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$"  PRESS ' ^ ' TO RETURN    ";:I$=""
  12. 31 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$;:FORI=1TO200:NEXT
  13. 32 A=A+1AND1:POKE199,A:GETI$:IFI$=""THEN31
  14. 33 RETURN
  15. 45 Y=24:X=.:GOSUB20:PRINTBL$S3$R$" "O$;
  16. 46 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTP$;:RETURN
  17. 47 Y=24:X=40:GOSUB20:PRINTCY$S3$W$;:RETURN
  18. 48 GOSUB60:GOSUB45:GOSUB47:RETURN
  19. 50 Y=22:X=8:GOSUB20:PRINTR$W$"INSERT "P$" DISKETTE ";:RETURN
  20. 60 Y=3:X=.:GOSUB20:FORI=3TO23:PRINT"[155]                                      [146]"
  21. 61 NEXT:RETURN
  22. 75 POKE808,225:A1=PEEK(55):A2=PEEK(56):POKE55,PEEK(51):POKE56,PEEK(52):RETURN
  23. 77 A=FRE(.):POKE55,A1:POKE56,A2:POKE808,237:IFA=>3000THENRETURN
  24. 80 Y=10:X=11:GOSUB20:PRINT"[158]PROGRAM MAY PAUSE"
  25. 81 Y=11:X=9:GOSUB20:PRINT"[158]FOR GARBAGE COLLECTION":Z=FRE(.)
  26. 82 Y=10:X=11:GOSUB20:PRINT"[155]                  "
  27. 84 Y=11:X=9:GOSUB20:PRINT"[155]                      ":RETURN
  28. 90 REM ** ERR HANDLING
  29. 91 INPUT#15,ER,ER$,T,S:RETURN
  30. 92 GOSUB60:Y=22:X=9:GOSUB20:POKE53281,2:PRINTER;ER$;T;S:P$=S6$:GOSUB30:RETURN
  31. 93 P$=P1$:GOSUB48:CLOSE15:OPEN15,DD,15,"I"+MID$(STR$(DR),2,1)+":":GOSUB91:RETURN
  32. 94 GOSUB92:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:RETURN
  33. 100 REM ** CHANGE
  34. 102 Y=24:X=47:GOSUB20:PRINTR$CY$"PRESS 'RETURN' TO CONTINUE";:IFUTHENRETURN
  35. 104 X=21-LEN(P$):GOSUB20:PRINTW$P$;:Y=24:X=21
  36. 106 GOSUB75
  37. 108 A$=J$+RIGHT$(A$,J-I):GOSUB20:PRINTR$A$;:GOSUB20:PRINTR$J$;:IFI<JTHENPRINT"[166]";
  38. 110 WAIT198,1:GETI$:POKE198,.:IFI$=CHR$(13)THEN134
  39. 112 IFI$=CHR$(19)ORI$=CHR$(34)ORI$=""ORI$=CHR$(131)ORI$=CHR$(147)ORI$=CHR$(141)THEN108
  40. 114 IFI<=1THENIFI$=CHR$(20)ORI$=CHR$(157)THENI=.:J$="":GOTO108
  41. 116 IFI$=CHR$(29)ANDI<JTHENI=I+1:J$=LEFT$(A$,I):GOTO108
  42. 118 IFI$=CHR$(148)THEN108
  43. 120 IFI$=CHR$(20)ORI$=CHR$(157)THENJ$=LEFT$(J$,LEN(J$)-1):I=I-1:GOTO108
  44. 122 IFI$=CHR$(17)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
  45. 124 IFI$=CHR$(145)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
  46. 126 IFKTHENIFI$="*"THEN130
  47. 128 IFSL<>1THENIFI$="*"THENJ=I+1:GOTO132
  48. 130 IFI=JTHENIFI$<>CHR$(13)THEN108
  49. 132 J$=J$+I$:I=I+1:GOTO108
  50. 134 GOSUB77:RETURN
  51. 200 REM *** PRINTER CODES
  52. 202 DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):C1$=CHR$(15):C2$=CHR$(18):Z=.:IP=N
  53. 204 C3$=CHR$(14):C4$=CHR$(20)
  54. 206 H1$=E$+"E"+E$+"G":H2$=E$+"F"+E$+"H"
  55. 208 T1$=C1$+E$+"S"+CHR$(48)+E$+"A"+CHR$(6):T2$=C2$+E$+"T"+E$+"A"+CHR$(12)
  56. 210 A=2:ONPCGOTO212,214,216,218,220,222,224,226,228,230,232,234
  57. 212 E=1:B=.:C=1:D=.:CL=3:PL=1:RETURN
  58. 214 E=1:B=2:C=.:D=1:CL=3:PL=10:RETURN
  59. 216 E=1:B=2:C=.:D=1:CL=3:PL=16:RETURN
  60. 218 E=1:B=2:C=2:D=9:CL=3:PL=16:RETURN
  61. 220 E=8:B=4:C=.:D=1:CL=4:PL=28:RETURN
  62. 222 E=1:B=2:C=.:D=1:CL=3:PL=14:RETURN
  63. 224 E=7:B=1:C=.:D=2:CL=4:PL=22:RETURN
  64. 226 E=7:B=1:C=.:D=1:CL=4:PL=28:RETURN
  65. 228 E=10:B=4:C=1:D=3:CL=4:PL=36:RETURN
  66. 230 E=19:B=8:C=1:D=1:CL=5:PL=30:GOTO238
  67. 232 E=19:B=8:C=1:D=1:CL=5:PL=30:T1$=C1$+E$+"G":T2$=C2$+E$+"H":GOTO238
  68. 234 A=1:E=19:B=6:C=1:D=1:CL=3:PL=48:P$=" * * * * * * * * * *"
  69. 236 T1$=E$+"E":T2$=E$+"F"
  70. 238 X=INT(IP/CL):R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
  71. 240 RETURN
  72. 300 REM *** Y/N
  73. 302 U=3:Y=20:X=17-LEN(P$)/2:GOSUB20:PRINTP$:X=X+LEN(P$)+2
  74. 304 GOSUB20:PRINTW$"NO ":Y=Y+1:GOSUB20:PRINTR$"YES"
  75. 306 GOSUB952:IFI$="^"THENRETURN
  76. 308 I$="N":IFC=1THENI$="Y":POKES+B,160
  77. 310 RETURN
  78. 400 REM ** LOAD FILES
  79. 402 F$=":\*":U=1:GOSUB602:IFERTHENN=.:GOSUB430:RETURN
  80. 404 IFI$<>"^"THENIFNF<.THENP$=P7$:GOSUB30:RETURN
  81. 406 F$=V$(B/40+BB):GOSUB430:IFI$="^"THENRETURN
  82. 408 GOSUB93:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R"
  83. 410 GOSUB91:IFERTHEN94
  84. 412 GOSUB75:INPUT#1,N:INPUT#1,DT$:INPUT#1,ID$:INPUT#1,BK$:INPUT#1,P
  85. 414 GOSUB2060:IFMATHEND$=ID$:ID$="\\"
  86. 416 F$=D$+ID$:I$="":Y=5:X=5:GOSUB20:PRINTW$R$"LOADING..."
  87. 418 Y=6:GOSUB20:PRINTNTAB(10)DT$"  "ID$
  88. 420 POKE850,76:POKE851,88:POKE852,3:POKE952,21
  89. 422 FORI=1TON:SYSDL:T$(I)=LEFT$(X$,20)
  90. 424 Y=7:GOSUB20:PRINTR$ITAB(10)T$(I):NEXT
  91. 426 GOSUB77:GOSUB91:IFERTHEN94
  92. 428 CLOSE1:BK$=RIGHT$("    "+BK$,4):RETURN
  93. 430 GOSUB75:FORI=1TONF:V$(I)="":NEXT:GOSUB77:RETURN
  94. 500 REM ** SAVE FILES
  95. 502 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  96. 504 GOSUB93:F$="\"+LEFT$(DT$,15)
  97. 506 OPEN1,DD,8,MID$(STR$(DR),2,1)+":"+F$+",S,W"
  98. 508 GOSUB91:IFER=63THENP$=S5$:GOTO528
  99. 510 IFERTHEN94
  100. 512 Y=5:X=5:GOSUB20:PRINTW$R$"SAVING"N"[157] PROGRAMS"
  101. 514 GOSUB2060:IFMATHENID$=D$
  102. 516 PRINT#1,N:PRINT#1,DT$:PRINT#1,ID$:PRINT#1,BK$:PRINT#1,P
  103. 518 GOSUB2060:IFMATHENID$="\\"
  104. 520 FORI=1TON:PRINT#1,T$(I)
  105. 522 Y=7:GOSUB20:PRINTI;TAB(10)T$(I)
  106. 524 NEXT:GOSUB91:IFERTHEN94
  107. 526 CLOSE1:U=10:RETURN
  108. 528 CLOSE1:GOSUB48:GETI$
  109. 530 IFI$="Y"THENP$=P1$:GOSUB45:PRINT#15,"S"+MID$(STR$(DR),2,1)+":"+F$:GOTO504
  110. 532 IFI$<>"N"THEN528
  111. 534 Y=2:X=60-LEN(H$)/2:GOSUB20:PRINTR$W$H$;:RETURN
  112. 600 REM ** READ DIRECTORY
  113. 602 IFN<1THEN616
  114. 604 Y=10:X=12:GOSUB20:PRINTR$"[158]CAUTION..."W$
  115. 606 PRINTR$"ENTRIES CURRENTLY IN THE    "
  116. 608 PRINTR$"COMPUTER'S MEMORY ARE LOST  "
  117. 610 PRINTR$"WHEN A FILE IS LOADED UNLESS"
  118. 612 PRINTR$"IT HAS BEEN SAVED PRIOR TO  "
  119. 614 PRINTR$"LOADING THE NEW FILE.       "
  120. 616 P$=S8$:IFU>.THENP$=S9$
  121. 618 GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  122. 620 IFU>.THENGOSUB93:GOTO624
  123. 622 P$=P1$:GOSUB48:CLOSE15:OPEN15,SD,15,"I"+MID$(STR$(SR),2,1)+":":P$=S8$
  124. 624 POKE850,32:POKE851,228:POKE852,255:POKE952,29
  125. 626 IFU>.THENOPEN1,DD,.,"$"+MID$(STR$(DR),2,1)+F$:GOTO630
  126. 628 OPEN1,SD,.,"$"+MID$(STR$(SR),2,1)+F$
  127. 630 GOSUB91:IFERTHEN94
  128. 632 IFN>1THENGOSUB75:FORI=.TON:T$(I)="":NEXT:GOSUB77:N=.:Z=FRE(.)
  129. 634 SYSDL:DT$=MID$(X$,7,16):ID$=MID$(X$,25,2)
  130. 636 H$=DT$+ID$:GOSUB534
  131. 638 REM ** SYS DIR READ
  132. 640 NF=-1:POKE850,76:POKE851,100:POKE852,3:POKE952,24:GOSUB75
  133. 642 SYSDL:B$=LEFT$(X$,1):C$=MID$(X$,2,1):S$=STR$(ASC(C$)*256+ASC(B$))
  134. 644 S$=RIGHT$("    "+S$,4):IFSTTHEN652
  135. 646 Y=5:X=9:GOSUB20:PRINTW$R$MID$(X$,3,19)S$
  136. 648 NF=NF+1:V$(NF)=MID$(X$,3,16)+MID$(X$,20,2)+S$
  137. 650 GOTO642
  138. 652 GOSUB77:GOSUB91:IFERTHEN94
  139. 654 BK$=S$:IFI$="^"THENN=.
  140. 656 CLOSE1:IFNF<.THENRETURN
  141. 658 H$=H$+BK$+" BKS FREE":GOSUB534
  142. 700 REM ** FILE SELECTION
  143. 702 GOSUB60:PRINTP4$P5$;:IFU=1THENY=25:X=.:GOSUB20:PRINT S0$;
  144. 704 S=1145:B=.:FORK=.TONFSTEP38
  145. 706 Y=4:X=2:FORJ=.TO18
  146. 708 SL=13:X=2:GOSUB766:Y=Y+1:IFY=23THENY=4
  147. 710 PRINT:IFJ+K=NFTHENJ=37
  148. 712 NEXT:X=2
  149. 714 POKES+B,62:POKE198,.:WAIT198,1:GETI$
  150. 716 IFI$="[145]"THENB=B-40:POKES+B+40,160:IFB=-40THENPOKES+B,160:B=18*40:GOTO722
  151. 718 IFI$=""THENB=B+40:POKES+B-40,160:IFB=19*40THENPOKES+B,160:B=.:GOTO722
  152. 720 POKES+B-40,160:IFI$<>""THEN726
  153. 722 IFS=1164THENPOKES+B,160:S=S-19:X=2:GOTO726
  154. 724 IFS=1145THENPOKES+B,160:S=S+19:X=22
  155. 726 IFU=1THENIFI$="E"ORI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
  156. 728 IFU=2THENIFI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
  157. 730 IFI$="E"THEN752
  158. 732 IFI$="S"THENIFU<>1THENGOSUB774:POKES+B,160:GOTO706
  159. 734 IFI$="^"THENK=NF:NEXT:GOSUB776:RETURN
  160. 736 IFNF>37THENIFI$="N"THENGOSUB60:B=.:S=1145:NEXT:GOTO702
  161. 738 IFI$="P"THENIFK>.THENK=K-38:B=.:S=1145:GOSUB60:GOTO706
  162. 740 IFI$<>CHR$(13)THEN714
  163. 742 BB=K:POKE198,.:Y=B/40+4:GOSUB20:IFS=1164THENBB=K+19:X=21
  164. 744 IFU=1THENIFV$(B/40+BB)>""THENRETURN
  165. 746 IFX(B/40+BB)=1THENX(B/40+BB)=.:PRINTO$;:GOTO750
  166. 748 IFX(B/40+BB)=.THENX(B/40+BB)=1:PRINTR$;
  167. 750 GOSUB20:GOSUB764:PRINT:GOTO714
  168. 752 P$=W$+P2$:GOSUB45:GOSUB47:GETI$:IFI$="Y"THENU=9:GOTO758
  169. 754 IFI$<>"N"THEN752
  170. 756 Y=24:X=.:GOSUB20:PRINTP4$P5$;:X=2:Y=Y-1:GOTO714
  171. 758 GOSUB75:P$=P1$:GOSUB48
  172. 760 N=1:FORI=.TONF:IFX(I)=1THENT$(N)=LEFT$(V$(I),17)+RIGHT$(V$(I),3):X(I)=.:N=N+1
  173. 762 V$(I)="":NEXT:GOSUB77:N=N-1:P=1:RETURN
  174. 764 PRINTW$LEFT$(V$(B/40+BB),SL)MID$(V$(B/40+BB),SL+4,1)RIGHT$(V$(B/40+BB),3);:RETURN
  175. 766 GOSUB20:IFX(K+J)=1THENPRINTR$;
  176. 768 PRINTW$LEFT$(V$(K+J),SL)MID$(V$(K+J),SL+4,1)RIGHT$(V$(K+J),3)O$;
  177. 770 IFX(K+J+19)=1THENPRINTR$;
  178. 772 PRINT""LEFT$(V$(K+J+19),SL)MID$(V$(K+J+19),SL+4,1)RIGHT$(V$(K+J+19),3):RETURN
  179. 774 FORI=.TONF:X(I)=X(I)+1AND1:NEXT:RETURN
  180. 776 P$=P1$:GOSUB48:FORI=.TONF:X(I)=.:V$(I)="":NEXT:RETURN
  181. 800 REM ** SORT
  182. 802 POKE1023,.:P$="SORTING"+STR$(N)+" FILES":GOSUB48:SYSML,T$(.):P=.
  183. 804 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:RETURN
  184. 900 REM ** ADD/SEARCH
  185. 902 U=1:G=N+1:T$(G)=" BLANK RECORD   ? 00":GOSUB918:N=N+1:RETURN
  186. 904 P$="PROGRAM NAME?":J=15:A$="               ":J$="":I=.:GOSUB102:IFJ$=""THENRETURN
  187. 906 G=1:P$=P1$:GOSUB48
  188. 908 IFRIGHT$(J$,1)="*"THENJ$=LEFT$(J$,J-1)
  189. 910 J=LEN(J$):IFJ$=LEFT$(T$(G),J)THEN918
  190. 912 G=G+1:IFG=N+1THENGOSUB60:P$="FILE NOT FOUND":GOSUB30:RETURN
  191. 914 GOTO908
  192. 916 REM ** CHANGE ROUTINE
  193. 918 P$=BL$:GOSUB48:Y=15:X=10:GOSUB20:IFJ$="D"THEN940
  194. 920 PRINTR$W$P8$:PRINTTAB(X)T$(G)
  195. 922 Y=13:X=10:GOSUB20:PRINTR$"[152]CHANGE[146]FROMTO"
  196. 924 A$=T$(G)
  197. 926 P$=BL$:GOSUB45:GOSUB47
  198. 928 U=1:J$="":I=.:GOSUB102:U=.:PRINTW$;
  199. 930 I=.:J=20:J$="":Y=17:X=10:GOSUB106:J$=A$:I$=""
  200. 932 PRINT"[158]";:P$=LEFT$(P2$,12)+"?" :GOSUB302:IFI$="N"THEN918
  201. 934 IFK=2THENIFI$="^"THENRETURN
  202. 936 IFI$="^"THENN=N-1:RETURN
  203. 938 T$(G)=J$:P=1:RETURN
  204. 940 P$=P1$:GOSUB45:GOSUB75:FORI=GTON:T$(I)=T$(I+1):NEXT:GOSUB77:N=N-1:J$="":RETURN
  205. 950 REM *** CURSOR SELECT ROUTINE
  206. 952 B=.:S=1152:Y=24:X=8:GOSUB20:PRINTW$R$".....CRSR=MOVEMENT....."SPC(9)S0$;:C=N
  207. 954 IFU=1THENB=40*G:C=14:S=1193
  208. 956 IFU=2THENC=11:S=1267:IFPCTHENB=40*(PC-1)
  209. 958 IFU=3THENC=1:S=1784+18+LEN(P$)/2
  210. 960 IFI$="D"THENJ$="D"
  211. 962 :POKES+B,62:POKE198,.
  212. 964 GETI$:IFI$=""ORI$=""THENIFB+40=760ORB/40=>CTHENPOKES+B,160:B=-40
  213. 966 IFI$=""ORI$=""THENB=B+40:POKES+B,62:POKES+B-40,160
  214. 968 IFI$="[145]"ORI$="[157]"THENIFB-40=-40THENPOKES+B,160:B=760:IFC<19THENB=C*40+40
  215. 970 IFI$="[145]"ORI$="[157]"THENPOKES+B,160:B=B-40:POKES+B,62
  216. 972 IFI$="N"ORI$="P"ORI$="E"ORI$="S"ORI$="^"THENRETURN
  217. 974 IFUTHENIFI$=CHR$(13)THENC=B/40:U=.:RETURN
  218. 976 IFI$<>CHR$(13)THEN964
  219. 978 IFN<19THENC=B/40:GOTO982
  220. 980 C=J-18+B/40:IFC<.THENC=N-ABS(C)+1
  221. 982 IFCTHENG=C:K=2:GOSUB918:C=G
  222. 984 J=C-1:IFN<19THENJ=-1
  223. 986 GOSUB10:RETURN
  224. 1000 REM ** MASTER FILE
  225. 1002 POKE53280,13:F$=":\*":U=2:GOSUB602:IFERTHENN=.
  226. 1004 IFI$="^"OR ER THENRETURN
  227. 1006 IFNF<.THENP$=P7$:GOSUB30:N=.:RETURN
  228. 1008 IFT$(1)=""THENRETURN
  229. 1010 DT$="\MASTER         ":ID$="\\":MA=1
  230. 1012 I=.:FORK=1TON:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+T$(K)+",S,R"
  231. 1014 INPUT#1,J:I=I+J:CLOSE1:NEXT
  232. 1016 BK$=RIGHT$("    "+STR$(I),4):RETURN
  233. 1020 REM ** PRINT MASTER
  234. 1022 IFP=2THEN1052
  235. 1024 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
  236. 1026 IFI$="Y"THENGOSUB1152
  237. 1028 P$=BL$:GOSUB48:V$(.)=DT$+ID$+BK$+STR$(P):P$=P1$:GOSUB45
  238. 1030 GOSUB75:FORK=1TON:V$(K)=T$(K):T$(K)="":NEXT:GOSUB77:M=N
  239. 1032 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THEN1042
  240. 1034 FORK=1TOM:F$=V$(K):GOSUB408:IFERTHENK=M:GOTO1040
  241. 1036 GOSUB60:GOSUB1206:IFI$="^"THENK=M
  242. 1038 GOSUB75:FORI=1TON:T$(I)="":NEXT:GOSUB77
  243. 1040 NEXT
  244. 1042 P$=P1$:GOSUB48:DT$=LEFT$(V$(.),16):ID$=MID$(V$(.),17,2):BK$=MID$(V$(.),19,4)
  245. 1044 P=VAL(RIGHT$(V$(.),1))
  246. 1046 GOSUB75:FORK=1TOM:T$(K)=V$(K):V$(K)="":NEXT:N=M:CLOSE15:GOSUB77:RETURN
  247. 1050 REM *** PRINT/ALPHABETIZE MASTER
  248. 1052 IFVAL(BK$)<1201THEN1058
  249. 1054 P$=BL$:GOSUB48:Y=20:X=4:GOSUB20:PRINTR$"[158]TOO MANY RECORDS - 1200 MAXIMUM!"
  250. 1056 P$=S6$:GOSUB30:RETURN
  251. 1058 PRINT"[158]";:P$="HAVE YOU SAVED[153] MASTER [158]FILE?":GOSUB302:IFI$="N"ORI$="^"THENRETURN
  252. 1060 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:POKE49152,.:POKE53281,15
  253. 1062 PRINT"[147]LOAD"CHR$(34)"DISK LAB.MSORT"CHR$(34)","DD:PRINT"RUN"
  254. 1064 PRINT"[151]";:POKE198,8:FORI=1TO7:POKE630+I,13:NEXT:STOP
  255. 1100 REM ** PRINT TO SCREEN
  256. 1102 J=-1:GOSUB60:GOSUB2060
  257. 1104 P$=DT$+ID$+STR$(N)+" PROGRAMS":IFN<1ORI$="^"THENRETURN
  258. 1106 Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTW$R$P$:GOTO1116
  259. 1108 P$=P6$:G=1:IFLEFT$(DT$,3)="\MA"THENP$=MID$(P6$,19):G=.
  260. 1110 GOSUB45:GOSUB30:IFI$="^"THENRETURN
  261. 1112 IFGTHENIFI$="C"ORI$="D"THENP$=BL$:GOSUB45:GOSUB952:GOTO1104
  262. 1114 IFN<19THEN1110
  263. 1116 GOSUB60:X=.:Y=4:GOSUB20
  264. 1118 IFI$<>"P"THENJ=J+1:GOTO1122
  265. 1120 J=J-37:IFJ<.THENJ=N-ABS(J)+1:IFJ<.THENJ=.
  266. 1122 IFJ>NTHENJ=.
  267. 1124 IFJ=.THEN1132
  268. 1126 PRINTTAB(9)W$T$(J):IFN<19THENIFJ=NTHEN1108
  269. 1128 IFPEEK(214)<22THENJ=J+1:GOTO1122
  270. 1130 GOTO1108
  271. 1132 PRINTW$R$""P8$
  272. 1134 GOTO1128
  273. 1150 REM ** PRINT OPTIONS
  274. 1152 P$=BL$:GOSUB48:P$="PRINT OPTIONS":Y=4:X=13:GOSUB20:PRINTCY$P$
  275. 1154 PRINTTAB(6)"VERTICAL X HORIZONTAL SIZE"
  276. 1156 X=4:Y=7:FORI=1TO12:GOSUB20:PRINTR$W$MID$(STR$(I)+"  ",2,2)O$PC$(I):Y=Y+1:NEXT
  277. 1158 U=2:GOSUB952:IFI$="^"THENRETURN
  278. 1160 PC=C+1:P$=BL$:GOSUB48
  279. 1162 P$="COMMENT/DATE/ETC...":J=17:A$=LEFT$("                 ",J-LEN(D$))
  280. 1164 GOSUB45:J$=D$:I=LEN(D$)
  281. 1166 Y=22:X=5:GOSUB20:PRINT"[159]NO COMMAS,SEMICOLONS OR COLONS":GOSUB102:D$=J$
  282. 1168 RETURN
  283. 1200 REM ** PRINT TO PRINTER
  284. 1202 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
  285. 1204 IFI$="Y"THENGOSUB1152
  286. 1206 IFK>1THEN1212
  287. 1208 P$=BL$:GOSUB48:Y=18:X=4:GOSUB20:PRINTR$"[158]PREPARE PRINTER & POSITION LABELS"
  288. 1210 P$=S6$:GOSUB30:IFI$="^"THENRETURN
  289. 1212 P$=T3$:E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:GOSUB202:IFMTHENIFPC>9THENGOSUB1328
  290. 1214 IFK>1THENP$=""
  291. 1216 PG=PL:PRINT#S,E$"U"CHR$(48);:FORI=1TOCL:PRINT#S,P$SPC(B/A);:NEXT:PRINT#S
  292. 1218 IFK>1THEN1224
  293. 1220 P$="TEST ALIGNMENT AGAIN?":GOSUB302:S=4:P$=T3$:GOSUB202:IFI$="^"THENCLOSES:RETURN
  294. 1222 IFI$="Y"THENLN=.:GOTO1212
  295. 1224 PRINT#S,H1$;:IFCTHENFORI=1TOC:PRINT#S:NEXT
  296. 1226 P$=S4$:GOSUB48:Y=4:X=5:GOSUB20:IFPC>1THEN1234
  297. 1228 PRINT#S,C3$SPC(E)DT$C4$:GETI$:IFI$="^"THEN1326
  298. 1230 PRINT#S,C3$SPC(E)ID$" "MID$(STR$(VAL(BK$)),2)" BLKS FREE
  299. 1232 [152]S,[166]E[172]3)D$H2$:[152]S:[137]1326
  300. 1234 [152]S,C3$[166]E[173]2)DT$ID$C4$:[161]I$:[139]I$[167]1326
  301. 1236 [152]S,[166]E)[202]([196]([197](BK$)),2)" BLKS FREE - "D$H2$;
  302. 1238 X[178][181](IP[173]CL):[139]N[177]PG[172]CL[167]X[178]PL:IP[178]PG[172]CL
  303. 1240 C3[178]2[172]X:C4[178]3[172]X:C5[178]4[172]X:R[178][165]R(X):[139]R[177].[167][139]R[179][178]CL[167]X[178]X[170]1
  304. 1242 C3[178]2[172]X:C4[178]3[172]X:C5[178]4[172]X:[145]CL[137]1244,1246,1250,1258,1268
  305. 1244 C3[178]IP:C4[178]IP:C5[178]IP:[137]1278
  306. 1246 [139]R[167]C3[178]2[172]X[171]1
  307. 1248 [137]1278
  308. 1250 [145]R[137]1254,1256:[143] **CL=3
  309. 1252 [137]1278
  310. 1254 C3[178]X:C4[178]2[172]X[171]1:[137]1278
  311. 1256 C4[178]3[172]X[171]1:[137]1278
  312. 1258 [145]R[137]1262,1264,1266:[143] **CL=4
  313. 1260 [137]1278
  314. 1262 C3[178]2[172]X[171]1:C4[178]3[172]X[171]2:[137]1278
  315. 1264 C4[178]3[172]X[171]1:[137]1278
  316. 1266 [137]1278
  317. 1268 [145]R[137]1272,1274,1276:[143] **CL=5
  318. 1270 [137]1278
  319. 1272 C3[178]2[172]X[171]1:C4[178]3[172]X[171]2:C5[178]4[172]X[171]3:[137]1278
  320. 1274 C4[178]3[172]X[171]1:C5[178]4[172]X[171]2:[137]1278
  321. 1276 C5[178]4[172]X[171]1
  322. 1278 [152]S,T1$
  323. 1280 [139]D[167][129]I[178]1[164]D:[152]S:[130]
  324. 1282 [129]I[178]1[164]CL[171]1:[152]S,P9$[166]B);:[130]:[152]S,P9$
  325. 1284 [139]PC[179]10[167][139]X[179]PL[171]1[167][129]I[178]1[164][181]((PL[171]X)[173]2):[152]S:[130]
  326. 1286 [139]Z[177].[167]C3[178]C3[170]Z:C4[178]C4[170]Z:C5[178]C5[170]Z:[139]N[179][178]PG[172]CL[167]IP[178]IP[170]Z
  327. 1288 [129]I[178]1[164]X:[161]I$:[139]I$[178]"^"[167]I[178]X:[130]:[137]1326
  328. 1290 [152]S,T$(I[170]Z)[166]B);
  329. 1292 [139]C3[178][177]I[170]X[170]Z[167][152]S,T$(I[170]X[170]Z)[166]B);
  330. 1294 [139]I[170]C3[177]IP[167][152]S:[137]1306
  331. 1296 [139]C4[178][177]I[170]C3[167][152]S,T$(I[170]C3)[166]B);
  332. 1298 [139]I[170]C4[177]IP[167][152]S:[137]1306
  333. 1300 [139]C5[178][177]I[170]C4[167][152]S,T$(I[170]C4)[166]B);
  334. 1302 [139]I[170]C5[177]IP[167][152]S:[137]1306
  335. 1304 [139]C5[170]X[178][177]I[170]C5[167][152]S,T$(I[170]C5)
  336. 1306 [130]:[139]PC[179]10[167][139]X[179]PL[171]1[167][129]I[178]1[164][181]((PL[171]X)[173]2):[152]S:[130]
  337. 1308 [139]PC[179]10[167][139]X[175]1[167][152]S
  338. 1310 [129]I[178]1[164]CL[171]1:[152]S,P9$[166]B);:[130]:[139]N[179][178]PG[172]CL[167][152]S,P9$:[137]1314
  339. 1312 [152]S,"-----CONTINUED------"
  340. 1314 [139]PC[178]6[176]PC[178]7[167][129]I[178]1[164]5:[152]S:[130]
  341. 1316 [139]N[179][178]PG[172]CL[167]1326
  342. 1318 [152]S,T2$;H1$
  343. 1320 [139]C[167][129]I[178]1[164]C:[152]S:[130]
  344. 1322 [152]S,DT$ID$" CONTINUED...":[152]S,"PAGE#"(PG[173]PL)[170]1" - "D$H2$;
  345. 1324 Z[178]PG[172]CL:IP[178]N[171](PG[172]CL):PG[178]PG[170]PL:[137]1238
  346. 1326 [152]S,T2$;:[160]S:[142]
  347. 1328 J[178]66:JJ[178]7:[139]PC[178]10[167]J[178]132:JJ[178]10
  348. 1330 [139]X[170]JJ[179]J[171]LN[167]1336
  349. 1332 [139]PC[178]10[167][152]S,E$"A"[199](6);
  350. 1334 [129]I[178]1[164]J[171]LN:[152]S:[130]:LN[178].:[139]PC[178]10[167][152]S,E$"A"[199](12);
  351. 1336 LN[178]LN[170]JJ[170]X:[139]LN[178][177]J[167]LN[178].
  352. 1338 [142]
  353. 1400 [143] ** EQUIP SETUP OPTIONS
  354. 1402 [141]48:Z[178].:U[178].:I[178].:P$[178]R$[170]"LIST   CMDCMDCMDCMDCMD"[170]O$[170]W$
  355. 1404 SD[178]SD[170]I:[141]1438:Y[178]7:X[178]4:[141]20:[153]W$"SOURCE DEVICE #:",P$SD:[139]U[167][142]
  356. 1406 DD[178]DD[170]I:[141]1438:Y[178]9:[141]20:[153]"MASTER DEVICE #:",P$DD:[139]U[167][142]
  357. 1408 SR[178]SR[170]I:[141]1438:Y[178]11:[141]20:[153]"SOURCE DRIVE #:",,P$SR:[139]U[167][142]
  358. 1410 DR[178]DR[170]I:[141]1438:Y[178]13:[141]20:[153]"MASTER DRIVE #:",,P$DR:[139]U[167][142]
  359. 1412 SA[178]SA[170]I:Y[178]15:[141]20:[153]"SECONDARY ADDRESS:",P$SA:[139]U[167][142]
  360. 1414 Y[178]19:[141]20:[153]R$"USE CURSOR KEYS TO SELECT"
  361. 1416 Y[178]21:[141]20:[153]W$R$"USE +/- KEYS TO CHANGE"
  362. 1418 [141]47:Y[178]24:X[178]47:[141]20:[153]R$CY$"  PRESS ' ^ ' TO RETURN    ";:[139]Z[178]1[167][142]
  363. 1420 Y[178]7:U[178]1
  364. 1422 I[178].:X[178]28:[141]20:[153]R$W$">>":X[178]4:[161]I$:[139]I$[178]"-"[167]I[178]I[171]1:[141]1434
  365. 1424 [139]I$[178]"+"[167]I[178]I[170]1:[141]1434
  366. 1426 [139]I$[178]""[176]I$[178]""[167]X[178]25:[141]20:[153]P$:Y[178]Y[170]2:U[178]U[170]1:X[178]28:I[178].:[139]Y[177]15[167]Y[178]7:U[178]1
  367. 1428 [139]I$[178]"ON"[176]I$[178]"CMD"[167]X[178]25:[141]20:[153]P$:Y[178]Y[171]2:U[178]U[171]1:X[178]28:I[178].:[139]Y[179]7[167]Y[178]15:U[178]5
  368. 1430 [139]I$[178]"^"[176]I$[178][199](13)[167]1456
  369. 1432 [137]1422
  370. 1434 [145]U[141]1404,1406,1408,1410,1412
  371. 1436 [142]
  372. 1438 [139]SD[179]8[167]SD[178]15
  373. 1440 [139]SD[177]15[167]SD[178]8
  374. 1442 [139]DD[179]8[167]DD[178]15
  375. 1444 [139]DD[177]15[167]DD[178]8
  376. 1446 [139]SR[179].[167]SR[178]1
  377. 1448 [139]SR[177]1[167]SR[178].
  378. 1450 [139]DR[179].[167]DR[178]1
  379. 1452 [139]DR[177]1[167]DR[178].
  380. 1454 [142]
  381. 1456 [139]SD[178]8[175]DD[178]8[167][142]
  382. 1458 P$[178]BL$:[141]48:P$[178]"CHANGE DEVICE #?":[141]302:[139]I$[178]"N"[176]I$[178]"^"[167][142]
  383. 1460 P$[178]BL$:[141]48:Y[178]17:X[178]7:[141]20:[153]R$"SYSTURN OFF ALL DRIVES EXCEPT"
  384. 1462 Y[178]Y[170]1:[141]20:[153]R$"  THE ONE TO BE CHANGED.  "
  385. 1464 P$[178]"OLD DEVICE # ":J[178]2:A$[178]"  ":J$[178]"8":I[178]1:[141]102:[139]J$[178]""[167][142]
  386. 1466 OD[178][197](J$):[139]OD[179]8[176]OD[177]15[167]1464
  387. 1468 P$[178]"NEW DEVICE # ":J[178]2:A$[178]"  ":J$[178]"9":I[178]1:[141]102:[139]J$[178]""[167][142]
  388. 1470 ND[178][197](J$):[139]ND[179]8[176]ND[177]15[167]1468
  389. 1472 [160]15:[159]15,OD,15
  390. 1474 [152]15,"M-W"[199](119)[199](.)[199](2)[199](ND[170]32)[199](ND[170]64):P$[178]BL$:[141]48
  391. 1476 Y[178]20:X[178]10:[141]20:[153]R$"SYSTURN ON OTHER DRIVE!":P$[178]S6$:[141]30:[160]15:[142]
  392. 1500 [143] ** INITILIZE VARIABLES
  393. 1502 [153][199](142):ML[178][194](45)[170]256[172][194](46)[171]262[171]3
  394. 1504 [140]:R$[178]"":O$[178]"WAIT":BL$[178]"":CY$[178]"OPEN":W$[178]"":[151]53280,7:[151]53281,11
  395. 1506 [134]V$(152),T$(152),M$(15),PC$(12):DL[178]830:SD[178]8:DD[178]8:SA[178]4:CL[178]3
  396. 1508 [139][194](1015)[179][177].[167]SD[178][194](1015):DD[178][194](1016):SR[178][194](1017):DR[178][194](1018):SA[178][194](1019)
  397. 1510 [134]X(152)
  398. 1512 [135]M$(.):[129]I[178]1[164]15:[135]M$(I):M$(I)[178][200](M$(I)[170]"                  ",18):[130]
  399. 1514 [129]I[178]1[164]12:[135]PC$(I):[130]:D$[178]"DISK LABELER+"
  400. 1516 S1$[178]"                                        WAIT"
  401. 1518 S2$[178]"OPEN         THE DISK LABELER+ V1.0         WAIT"
  402. 1520 S3$[178]"                                       WAIT"
  403. 1522 S4$[178]"PRESS & HOLD '^' TO STOP PRINTING"
  404. 1524 S5$[178]"SYSREPLACE EXISTING FILE (Y/N)?
  405. 1526 S6$="PRESS A KEY TO CONTINUE"
  406. 1528 S7$="SELECT ONE"
  407. 1530 S8$="[158]SOURCE"
  408. 1532 S9$="[158]MASTER"
  409. 1534 P1$="WORKING"
  410. 1536 P2$="SELECTION OK (Y/N)?"
  411. 1538 P3$="NO FILES AVAILABLE!"
  412. 1540 P4$="CRSR=MOVEMENT  N=NEXT  P=PREVIOUS[146]"
  413. 1542 P5$="RETURN=SELECT S=SWAP E=END ^=MENU[146]"
  414. 1544 S0$="      RETURN=SELECT  ^=MENU      [146]"
  415. 1546 P6$="C=CHANGE D=DELETE P=PREVIOUS OTHERS=NEXT"
  416. 1548 P7$="NO DISK LABELER FILES FOUND"
  417. 1550 P8$="FILENAME        T SZ"
  418. 1552 P9$="--------------------"
  419. 1554 T3$=" * * * * * *"
  420. 1556 GOSUB10:Y=3:X=5:GOSUB20:PRINTW$R$"VERIFIED/C64/1541/FX80/CARD?/G"
  421. 1558 READP$:Y=5:X=4:GOSUB20:PRINT"[158]"R$P$:X=2
  422. 1560 FORY=7TO13:READP$:GOSUB20:PRINTW$R$P$:NEXT
  423. 1562 FORY=16TO22:READP$:X=20-LEN(P$)/2:GOSUB20:PRINTP$:NEXT
  424. 1564 IFPEEK(DL)=160THEN1568
  425. 1566 OPEN1,8,.,"0:DISK LAB.DIR,S,R":FORI=DLTODL+148:INPUT#1,A:POKEI,A:NEXT:CLOSE1
  426. 1568 Z=FRE(.):I$="":P$=" INSTRUCTIONS (Y/N)? ":POKE198,.:GOSUB30:IFI$<>"Y"THEN2000
  427. 1570 IFCTHENP$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
  428. 1572 CLOSE1:OPEN15,DD,15:S=3:OPEN1,DD,.,MID$(STR$(DR),2,1)+":DISK LAB.INST,S,R"
  429. 1574 GOSUB91:IFERTHENGOSUB94:GOSUB10:GOTO1568
  430. 1576 GOSUB60:X=.:Y=4:GOSUB20:IFS=4THENPRINT#S
  431. 1578 INPUT#1,P$:IFP$="END"THENP$=S6$:GOSUB30:GOTO1590
  432. 1580 IFI$="^"THEN1590
  433. 1582 PRINTR$"[155]"P$:IFS=4THENPRINT#S,P$
  434. 1584 IFPEEK(214)<22THEN1578
  435. 1586 P$=S6$:GOSUB30:IFI$="P"THENS=4:CLOSES:OPENS,4,SA
  436. 1588 GOTO1576
  437. 1590 CLOSE1:CLOSES:IFU=1THENRETURN
  438. 2000 REM ** MAIN MENU
  439. 2002 GOSUB2060:GOSUB10:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:P0$="SORTED"
  440. 2004 G=2:IFU>8THENG=4:IFU=10THENG=.
  441. 2006 POKE198,.:K=.:M=.:LN=.:J$="":F$=DT$
  442. 2008 IFN<1THENN=.:DT$="NO FILE NAME   ":ID$="?":BK$="00":P=1:G=.
  443. 2010 Y=4:X=10:GOSUB20:PRINTM$(.):Y=5:IFBK$=""THENBK$=" ?"
  444. 2012 FORI=1TO15:P$=R$:IFN<1THENIFI=3ORI=4ORI=5ORI=6ORI=8THENP$=O$
  445. 2014 IFI=6THENIFP=.THENP$=O$
  446. 2016 IFI=7ORI=8THENIFMATHENP$=O$
  447. 2018 IFI=11THENIFP=2THENP$=O$
  448. 2020 IFI=10ORI=11THENIFMA=.THENP$=O$
  449. 2022 GOSUB20:PRINTW$P$RIGHT$("  "+STR$(I),2)W$;
  450. 2024 PRINTO$M$(I):Y=Y+1:NEXT:IFPTHENP0$="UNSORTED":IFP=2THENP0$="ALPHABETIZED"
  451. 2026 P$=DT$:IFN>.THENP$=P$+ID$+BK$+" BKS FREE"
  452. 2028 Y=21:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$:P$=STR$(N)+" PROGRAMS : "+P0$
  453. 2030 Y=22:X=20-LEN(P$)/2:GOSUB20:PRINTR$P$
  454. 2032 F$=""::U=1:GOSUB952:G=C:IFUTHEN2050
  455. 2034 C=C+1:IFC=1ORC=2ORC=7ORC=9ORC=12ORC=13ORC=14ORC=15THEN2042
  456. 2036 IFC=6THENIFP=.THENPOKES+B,160:GOTO2032
  457. 2038 IFC=10ORC=11THENIFMA=.THENPOKES+B,160:GOTO2032
  458. 2040 IFN<1THENPOKES+B,160:GOTO2032
  459. 2042 IFC=7ORC=8THENIFMATHENPOKES+B,160:GOTO2032
  460. 2044 IFC=11THENIFP=2THENPOKES+B,160:GOTO2032
  461. 2046 P$=BL$:GOSUB48:POKE53280,7:IFC>2THENGOSUB2060
  462. 2048 ONCGOSUB602,402,1102,1202,502,802,902,904,1002,1022,1052,1150,1402,1570,2052
  463. 2050 GOSUB2060:GOTO2002
  464. 2052 IFN=.THEN2058
  465. 2054 PRINT"[158]";:P$="HAVE YOU SAVED CURRENT [158]FILE?"
  466. 2056 GOSUB302:IFI$="N"ORI$="^"THENRETURN
  467. 2058 PRINT"[147]HAPPY COMPUTING!!":CLR:END
  468. 2060 IFLEFT$(DT$,7)="\MASTER"THENPOKE53280,13:MA=1:RETURN
  469. 2062 MA=.:POKE53280,7:RETURN
  470. 5000 REM ** MENU CHOICES
  471. 5002 DATA"[158]     MAIN MENU      ","CREATE A NEW FILE","LOAD A FILE"
  472. 5004 DATA"VIEW/EDIT ENTRIES","PRINT ENTRIES","SAVE ENTRIES"
  473. 5006 DATA"SORT ENTRIES","ADD A SINGLE ITEM","SEARCH BY NAME"
  474. 5008 DATA"CREATE MASTER FILE","PRINT MASTER FILE","ALPHABETIZE MASTER"
  475. 5010 DATA"PRINT OPTIONS","EQUIPMENT SETUP","INSTRUCTIONS","EXIT TO BASIC"
  476. 5012 REM ** PRINT OPTIONS
  477. 5014 DATA"  15/16 X 3 1/2  HEADER INFO ONLY"
  478. 5016 DATA"1  7/16 X 4      MAILING LABEL","1 15/16 X 4      MAILING LABEL"
  479. 5018 DATA"2 15/16 X 4     SHIPPING LABEL","2 15/16 X 5 3/4 SHIPPING LABEL"
  480. 5020 DATA"2  1/16 X 4  ROTARY FILE CARD","3 X 5        ROTARY FILE CARD"
  481. 5022 DATA"3 X 5        FILE CARD","4 X 6        FILE CARD"
  482. 5024 DATA"5/SUP ACROSS PAGE","5/CON ACROSS PAGE","3/REG ACROSS PAGE"
  483. 5026 DATA"**** USER SUPPORTED SOFTWARE ****"
  484. 5028 DATA"YOU ARE ENCOURAGED TO COPY AND SHARE"
  485. 5030 DATA"THIS PROGRAM WITH OTHER USERS ON THE"
  486. 5032 DATA"CONDITIONS THAT THE PROGRAM IS NOT  "
  487. 5034 DATA"DISTRIBUTED IN MODIFIED FORM, THAT  "
  488. 5036 DATA"NO FEE OR CONSIDERATION IS CHARGED, "
  489. 5038 DATA"AND THAT THIS NOTICE IS NOT BYPASSED"
  490. 5040 DATA"OR REMOVED.                         "
  491. 5042 DATA" IF YOU FIND THIS PROGRAM TO BE   "
  492. 5044 DATA" OF VALUE, A CONTRIBUTION TO THE  "
  493. 5046 DATA"   AUTHOR WILL BE APPRECIATED.    ":DATA"
  494. 5048 [131]"FREDIE J. LAYBERGER"
  495. 5050 [131]"14524 'N' STREET   "
  496. 5052 [131]"OMAHA, NE 68137    "
  497.